The following table lists the modifiers that have so far been defined. They come in two types – either a single keyword, or a key-character with the following text treated as an argument.
Later settings of the linewidth override earlier settings; multiple calls to |[thicker]| and |[thinner]| compound.
( @*shapechar@|@#1@@#1@@
@*shape@thinner@@thinner@ @*shape@thicker@@thicker@ )
2 Each style modifier adds code to one, or both, of two global lists. These contents of these lists, called |@@ | and |@@ |. An implementation must define macros which are to be bound to the control sequence names |@| and |@|, which are prepended and appended to the |@@| and |Connect@@| methods for the current <object>.
Also |@@| and |@@| must be modified, if this has not already been done as indicated by |@style@| having expansion ||.
( @@ @@
@@ @@
@@style@ @@@ @@@
@@@style@=
@@@style@= )
Code is added sequentially to |@| so that it is ultimately acted upon in the order of occurrence of the <shape> modifiers. The code is added to |@| in reverse order, so that each addition to |@| can be closed off, if necessary, in a correctly nested sequence.
( @@@style@@@@ @##1@@@@##1@@ @##1@@@@##1@@@
@@ )
Global macros are used, so that the same styles can be reused by successive objects without having to re-interpret <shape> modifiers, as described next.
3